package com.hualan.servlet;

import com.alibaba.fastjson.JSON;
import com.hualan.dao.CourierStationDao;
import com.hualan.dao.impl.CourierStationDaoImp;
import com.hualan.utils.DBUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@WebServlet("/selectByPcsServlet")
public class selectByPcsServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String pageString=req.getParameter("pageNum");
        String sizeString=req.getParameter("pageSize");
        String courierStationName=req.getParameter("courierStationName");
        String communityName=req.getParameter("communityName");
        String startTimestr=req.getParameter("startTime");
        String endTimestr=req.getParameter("endTime");

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //创建map对象用来给前端返回对象
        Map<String ,Object> map=new HashMap<>();
//        try {
//
//            Date startTime = dateFormat.parse(startTimestr);
//            Date endTime = dateFormat.parse(endTimestr);

        int page=pageString==null ? 1:Integer.parseInt(pageString);
        int size=sizeString==null ? 5:Integer.parseInt(sizeString);

        //创建Dao对象
        CourierStationDao csdao=new CourierStationDaoImp();
        //按照分页查询数据
        List<Map<String, Object>> pcslist;
        pcslist =csdao.selectByPcs(page,size,courierStationName,communityName,startTimestr,endTimestr);
            String courierStationName1="%"+courierStationName+"%";
            String communityName1="%"+communityName+"%";
            Long count = (long) pcslist.size();
        //讲数据存储到map中
        map.put("count",count);
        map.put("list",pcslist);
            System.out.println(pcslist);
            System.out.println(count);
        //设置code状态码 200成功 300失败以及message信息
        if (count>0&&pcslist!=null){
            map.put("code",200);
            map.put("message","请求成功");
        }else {
            map.put("code",300);
            map.put("message","请求失败");
        }
        //将数据源map通过response返回给前端
        //问题：
        //.json是文件存储数据的一种格式！ 参考 .txt .word .png .html 等 仅仅是一种文件格式！ 但是其内部遵循 键值对{}和数组[]结构；所以我们在进行网络数据输出都会使用此格式的数据进行传递

//    } catch (ParseException e) {
//        throw new RuntimeException(e);
//    }
        resp.setContentType("text/html;charset=utf-8");
        resp.setCharacterEncoding("utf-8");
        String jsonString= JSON.toJSONString(map);
        resp.getWriter().write(jsonString);
}


    }

